Update mobile template for native host 0.3 upgrade flow - #436
Merged
Ameya Apte (ameyaapte1) merged 4 commits intoAug 18, 2026
Conversation
Shubham Agarwal (kanu-shubham)
approved these changes
Aug 18, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the plugins/mobile-apps Expo template to align with the newer Power Apps native host (0.3.x), relocates template version/upgrade metadata into app.json, and refreshes docs to reflect the new upgrade and migration expectations for existing consumers.
Changes:
- Bumps template dependencies to
@microsoft/power-apps-native-host@^0.3.0and@microsoft/power-apps-native-offline@^0.1.32. - Introduces
app.json(withexpo.extra.powerappsNative) and removes.powerapps-native/version.jsonas the template upgrade/version source of truth. - Updates Metro middleware to wrap with
withPowerNativeMetroLoggingwhile preserving the/__pawrap_verifyendpoint; updates docs (Node 24 LTS, permissions guidance, manual migration steps).
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/mobile-apps/template/README.md | Updates template docs for Node 24, version metadata location, required permissions, and manual migration guidance. |
| plugins/mobile-apps/template/package.json | Upgrades native host/offline dependencies for the 0.3 template. |
| plugins/mobile-apps/template/metro.config.js | Wraps Metro middleware with withPowerNativeMetroLogging while keeping /__pawrap_verify. |
| plugins/mobile-apps/template/CUSTOMIZATION.md | Updates customization guidance to treat app.json metadata as upgrade source of truth. |
| plugins/mobile-apps/template/app/_layout.tsx | Wires offlineProfile into PowerAppsProvider (intended optional load). |
| plugins/mobile-apps/template/app.json | Adds expo.extra.powerappsNative (and related extra keys) as template metadata store. |
| plugins/mobile-apps/template/.powerapps-native/version.json | Removes the previous version metadata file. |
| plugins/mobile-apps/README.md | Mirrors documentation updates for Node 24, permissions guidance, and manual migration steps. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.
Suppressed comments (1)
plugins/mobile-apps/template/app/_layout.tsx:24
offline-profile.jsonis intended to be optional, butrequire('../offline-profile.json')uses a static string literal. Metro resolvesrequire()calls at bundle time, so ifoffline-profile.jsonis absent (it is not present in the template directory), bundling will fail even though the call is wrapped in try/catch. To keep the profile optional, ensure the file always exists (e.g., add a stuboffline-profile.jsonin the template / scaffold step) or switch to a loading mechanism that doesn’t require Metro to resolve a missing module.
let offlineProfile: Record<string, unknown> | undefined;
try {
offlineProfile = require('../offline-profile.json') as Record<string, unknown>;
} catch (error: unknown) {
if (!isMissingOfflineProfile(error)) throw error;
Ameya Apte (ameyaapte1)
enabled auto-merge (squash)
August 18, 2026 04:43
Shubham Agarwal (kanu-shubham)
approved these changes
Aug 18, 2026
Ameya Apte (ameyaapte1)
deleted the
users/amapte/mobile_template_upgrade_1808
branch
August 18, 2026 04:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR updates the
mobile-appstemplate for the newer Power Apps native host and moves template version metadata intoapp.json.Key changes:
@microsoft/power-apps-native-hostto^0.3.0@microsoft/power-apps-native-offlineto^0.1.32app.jsonwithexpo.extra.powerappsNativemetadata, replacing the deleted.powerapps-native/version.jsonfile.offline-profile.jsonloading into the rootPowerAppsProvider.withPowerNativeMetroLoggingwhile preserving the existing/__pawrap_verifyendpoint.expo.extra.powerappsNativeas the upgrade/version source of truth.app.jsonmetadata.app/andsrc/into a fresh template.Notes
This is a breaking template update, existing users need to migrate to the new template manually